#导包
import unittest
import json

import config
from api.login import LoginApi
from parameterized import parameterized
from utils import comm_assert



#构建数据，从外部导入json数据
def loginData():
    data_url=config.BASE_PROJECT+"/data/login.json"
    test_data=[]
    #打开文件
    with open(file=data_url, encoding="utf-8") as f:
        json_data=json.load(f)
        for case_data in json_data:
            desc=case_data.get("desc")
            login_data=case_data.get("login_data")
            status_code=case_data.get("status_code")
            success=case_data.get("success")
            code=case_data.get("code")
            message=case_data.get("message")
            test_data.append((desc,login_data,status_code,success,code,message))
    print(test_data)
    return test_data

#定义测试类

class TestLogin(unittest.TestCase):
    def setUp(self):
        self.login_api=LoginApi()

    #定义测试用例方法
    @parameterized.expand(input=loginData())
    def test01_login(self,desc,login_data,status_code,success,code,message):
        print("正在执行【{}】".format(desc))
        print(login_data)
        response=self.login_api.login(login_data)
        print(response.json())
        comm_assert(self,response,status_code,success,code,message)